# 通过class定义一个人类
class Person:

    # 这里的变量不带self.的是类变量
    name ="default"
    age =0
    gender ="male"
    weight =0

#   通过构造方法在实例化对象的时候set进去对象属性
#   这里的self.形式的变量使实例变量，不同于上面的类变量
    def __init__(self,name,age,gender,weight):
        self.name=name
        self.age=age
        self.gender=gender
        self.weight=weight

    def eat(self):
        print(f"{self.name} eating")

    def play(self):
        print(f"{self.name} playing")

    def jump(self):
        print(f"{self.name} jump")

# 类的实例化，执行实例化的代码时候，实际就是执行构造方法，实际就是__init__方法,可以打断点看一下
zs =Person("zhangsan",20,"male",120)
print(f"张三的姓名是{zs.name},年龄是{zs.age}")
print(f"张三的性别是{zs.gender},体重是{zs.weight}")
zs.eat()


# 再实例化一个李四的对象
ls =Person("lishi",25,"male",150)
print(f"李四的姓名是{ls.name},年龄是{ls.age}")
print(f"李四的性别是{ls.gender},体重是{ls.weight}")
ls.play()
ls.jump()